Studio e analisi dei sistemi di indagine remote sensing, morfologia e topografia
Università di Torino
F tutto schermo→ , ↓ , SPACE , N, L , J Slide successiva← , ↑ , P , H , K Slide precedenteShift + ←/↑/→/↓ Vai alla prima/ultima slideESC, O Panoramica delle slideM MenuContinueremo ad approfondire alcuni strumenti avanzati di qgis, andando ad esplorare alcuni algoritmi per analisi quantitative e correzioni di geometrie, affrontando anche la questione della simbologia tramite regole.
Nel frattempo, aprire QGIS!
Link alle slides:
Una volta caricate dal link, le slide dovrebbero seguire la presentazione in automatico.
Una delle analisi che può essere utile effettuare è cercare di comprendere quanti siti archeologici si posizionino quali unità geomorfologiche. Le implicazioni di questo tipo di analisi sono molteplici, dalla comprensione dell’età di fondazione di un sito, dalle potenzialità del suo entroterra sulla base delle conoscenze acquisite tramite analisi geomorfologica.
In QGIS esistono due algoritmi che possiamo utilizzare per ottenere il risultato che vogliamo: l’algoritmo “conta i punti nel poligono” e “intersezione”. La differenza tra i due sta principalmente nel risultato finale.
Esploreremo prima “conta i punti nel poligono” e poi procederemo con il secondo. Carichiamo un altro layer dal nostro geopackage. Apriamo il geopackage “carchemish_addon” nel pannello di browser e carichiamo il layer puntuale “btr_sue_all” (doppio click sul layer o tasto destro -> Aggiungi Layer al progetto)
Per accedere all’algoritmo, andiamo su Vettore → Strumenti di Analisi → Conta i punti nel poligono. In alternativa, possiamo cercare lo stesso algoritmo nel pannello degli strumenti di processing.
Nel nuovo pannello che si apre, troviamo una descrizione dell’algoritmo sulla destra e una serie di opzioni da impostare. L’algoritmo prende come input un layer poligonale e un layer puntuale. Scegliamo per il primo il layer “btr_geomorph_sue_sanlaville” e per il secondo “btr_sue_all”. Ci sono altri campi opzionali che possiamo ignorare, ed eventualmente decidere il nome della nuova colonna da creare.
Lasciamo tutte le impostazioni di default e clicchiamo su “Esegui”.
Verrà creato un nuovo layer poligonale temporaneo. Se apriamo la tabella attributi di questo layer possiamo vedere come sia stato aggiunto un campo NUMPOINTS, con il conteggio dei punti presenti all’interno di ogni singola geometria.
Vediamo adesso il secondo algoritmo di cui abbiamo parlato prima. Per accedervi, cerchiamo negli strumenti di processing “Intersezione” e clicchiamoci due volte per avviarlo. Possiamo usare questo algoritmo con un obiettivo diverso dal precedente: ottenere un layer puntuale in cui per ogni punto è indicato il nome dell’unità geomorfologica su cui quel punto si trova.
Nel nuovo pannello troviamo la descrizione dell’algoritmo a destra, molto più semplice del precedente.
Come layer in ingresso selezioniamo “btr_sue_all” e come layer di sovrapposizione “btr_geomorph_sue _sanlaville”. Lasciamo il resto di default e clicchiamo su “Esegui”.
QGIS produrrà un layer puntuale temporaneo “intersezione”. Se apriamo la tabella attributi del layer possiamo vedere come siano stati aggiunti ad ogni punto, le informazioni presenti nella tabella attributi del layer geomorfologico, relative alla geometria su cui si trova ogni singolo punto. Questo è molto utile per avere un dato qualitativo invece che quantitativo relativo al rapporto tra siti ed unità geomorfologiche.
Ricordiamoci che i layer prodotti finora sono tutti temporanei, e che per renderli permanenti, dovremo salvarli o come shapefile o all’interno del nostro geopackage (o in uno nuovo).
Vediamo adesso un concetto avanzato relativo alla simbologia dei layer: la simbologia tramite regole. Se apriamo il pannello di Stile layer del layer btr_sue_all, possiamo vedere come la simbologia sia divisa in differenti “regole” ed etichette, che permettono svariati tipi di visualizzazione.
La simbologia tramite regole è molto potente e permette moltissime personalizzazioni della mappa e gestione avanzata della simbologia in funzione della tabella attributi. Per ottenerla, bisogna lavorare con le espressioni di QGIS.
Per cominciare, partiamo da un elemento semplice. Selezioniamo il layer “btr_sue_ia_types_area”. Possiamo vedere come questo abbia assegnato un tipo di simbologia definita categorizzata, basata sugli elementi unici di un campo nella tabella attributi (in questo caso, site_type).
Potremo lavorare direttamente dal pannello di stile del layer, ma per avere una maggiore visione d’insieme, apriamo le proprietà del layer (doppio click sul layer). Una volta nel pannello delle proprietà, andiamo su “Simbologia” e clicchiamo sul menu a tendina in alto, scegliendo tra le opzioni “Tramite regole”.
La simbologia al momento non cambierà, ma il layout dell’interfaccia si adatterà al tipo di simbologia scelto.
Cominciamo da zero, in modo che sia più chiaro come lavorare con la simbologia tramite regole. Eliminiamo quindi le regole già presenti. Per farlo, selezioniamole (ctrl/cmd +click o shift per selezionarle tutte) e poi clicchiamo sull’icona a forma di “-”presente in basso a sinistra del pannello delle regole.
Dobbiamo quindi aggiungere la nostra prima regola. Per farlo, clicchiamo sull’icona a forma di “+” in basso a sinistra.
Si aprirà un nuovo pannello molto simile a quello della simbologia. In alto abbiamo il campo “Etichetta”. In questo possiamo scrivere l’etichetta della nostra regola, ovvero quello che apparirà nel pannello dei layer e nella legenda della mappa. Sebbene sia modificabile in qualsiasi momento, è bene inserire un’etichetta che sia comprensibile ci ricordi immediatamente che tipo di regola abbiamo impostato.
Poniamo ad esempio che vogliamo mostrare sulla mappa solamente i siti di tipo “Tell”. Per cominciare, nel campo etichetta scriviamo “Tell”.
Per creare effettivamente la nostra regola, clicchiamo sul simbolo della sommatoria a destra, affianco al pulsante “Prova”.
Si aprirà un ulteriore pannello, simile al calcolatore di campi che abbiamo già visto. Possiamo lavorarci esattamente come abbiamo già fatto. Il nostro obiettivo è dire a QGIS di mostrarci tutti i siti che abbiano, nel campo site_type, il valore “Tell”. Sappiamo quindi già dove partire: andiamo su campi e valori e clicchiamo due volte su site_type per caricarlo nell’editor. Vogliamo poi avere tutti i siti il cui valore sia uguale a “Tell”.
Dovremo quindi utilizzare l’operatore “=”, come già fatto in precedenza. Possiamo selezionarlo dalla lista degli operatori, o scriverlo manualmente.
Torniamo adesso sulla sezione “Campi e valori”, clicchiamo una volta su “site_type” e poi nel pannello di destra clicchiamo su “Tutti i valori univoci” per mostrarci i valori tra cui possiamo scegliere. Come possiamo vedere, abbiamo “tell” e “flat_site” come valori univoci. Clicchiamo due volte su “tell” per aggiungerlo all’editor.
Una volta fatto, clicchiamo su “OK”.
Possiamo vedere che la nostra regola è apparsa sotto l’etichetta, accanto a “Filtra”. Per controllare di aver scritto correttamente la regola, possiamo cliccare su “Prova”, a sinistra del pulsante di sommatoria utilizzato in precedenza.
Se clicchiamo su “Prova” vediamo infatti che QGIS ci conferma che la regola funziona senza errori, e ci restituisce il numero degli elementi che corrispondono a questa regola. In parole povere, nel nostro layer ci sono 39 siti di tipo “tell”.
Una volta definita la regola e quindi la modalità di visualizzazione, possiamo anche modificare il simbolo stesso delle geometrie corrispondenti a questa regola. Ricordiamoci che questa impostazione modificherà solamente le geometrie filtrate tramite questa specifica regola. Se quindi in futuro creeremo una seconda regola, potremo applicare una differente simbologia, creando potenzialmente una mappa molto particolareggiata.
Per modificare il simbolo, nel pannello “Simbolo” cerchiamo “triangle” sotto le voci rotazione. Selezioniamo poi ad esempio “triangle red” come forma e se necessario modifichiamone le dimensioni.
Clicchiamo poi su “OK” per chiudere tutto.
Siamo quindi ritornati alla nostra finestra delle proprietà, dove possiamo vedere simbolo, etichetta e regola appena inserite. Per applicare la regola e la simbologia, clicchiamo su “Applica” e poi su “Ok” per chiudere il pannello. Possiamo vedere come la simbologia e il filtro sono stati applicati correttamente.
Anche nella mappa sono state applicate tutte le nostre modifiche. Possiamo anche raffinare una regola già creata. Pensiamo ad esempio di voler filtrare non solo i siti per tipologia, ma anche per dimensione, utilizzando il campo “area_ha” presente nello stesso layer.
Stavolta utilizzeremo il pannello di stile layer a destra della nostra interfaccia. Per iniziare, clicchiamo due volte sulla regola appena creata.
Questo ci riporta al pannello visto in precedenza. Clicchiamo nuovamente sul pulsante della sommatoria a sinistra di “prova” per modificare la regola.
Questo ci riporta direttamente all’editor visto in precedenza. Apriamo la scheda “Campi e valori” e selezioniamo “area_ha” per vedere i valori che abbiamo a disposizione. Ipotizziamo di voler selezionare solamente i siti più grandi di 4 ettari.
Clicchiamo intanto due volte su “area_ha” per aggiungerlo all’editor.
Possiamo poi scrivere a mano il resto della regola, aggiungendo, come detto prima “> 4”. Come possiamo vedere, QGIS ci informa che l’espressione che abbiamo inserito non è valida. Su “maggiori info” avremo più dettagli, ma quello che manca è essenzialmente un operatore che dica a QGIS: “seleziona questo E quello”. Apriamo quindi la lista degli operatori.
L’operatore che stiamo cercando è AND. La descrizione dell’operatore ci fa capire che è quello che stiamo cercando, in quanto restituisce TRUE, se le due condizioni sono vere.
Aggiungiamo quindi AND tra ‘tell’ e “area_ha”.
Possiamo vedere che l’errore relativo all’espressione è scomparso. Per concludere, clicchiamo su OK.
La regola viene applicata in automatico, ma per provare che vada tutto bene, clicchiamo su “Prova”. QGIS ci conferma di aver trovato sette siti di tipo “tell” e con area maggiore di 4 ettari.
Se selezioniamo un sito sulla mappa e apriamo la tabella attributi, possiamo avere un’ulteriore conferma di ciò. Vediamo infatti come il sito selezionato corrisponda ad entrambe le condizioni che abbiamo impostato in precedenza.
La simbologia tramite regole è quindi ottima per visualizzare un numero molto alto di condizioni e personalizzare la visualizzazione di un layer con molti campi.
Se apriamo il layer “btr_sue_all” possiamo vedere le differenti regole applicate per ottenere la visualizzazione per periodo.
Un altro elemento interessante è infine la possibilità di spuntare le caselle per nascondere o mostrare i risultati delle singole regole. Questo rende la visualizzazione ancora più flessibile ed è utilissimo nella progettazione di, ad es., mappe di fase archeologiche.